Перейти к основному содержимому

Локальные изменения языкового пакета

Изменение слов или фраз

Слова или фразы (на любом языке), используемые на сайте, могут быть легко изменены администратором с помощью функции локальных изменений языкового пакета. Например, вы можете захотеть изменить слово «Course» на «Unit».

  1. Перейдите в Администрирование > Язык > Локальные изменения языкового пакета и выберите язык, который вы хотите настроить.
  2. Нажмите кнопку «Открыть языковой пакет для редактирования» (это может занять некоторое время).
  3. Как только языковой пакет загрузится, нажмите кнопку «Продолжить».
  4. Найдите строку, которую вы хотите настроить, используя настройки фильтра, затем нажмите «Отобразить строки». Ниже приведены подробности о том, как найти компонент и идентификатор строки.
  5. Внесите изменения в поле «Локальный перевод».
  6. Нажмите «Применить изменения и продолжить редактирование», если вы хотите использовать другой фильтр или отредактировать другие файлы, иначе нажмите «Сохранить изменения в языковом пакете», чтобы сохранить все внесённые вами изменения.

Импорт и экспорт локальных изменений языкового пакета

Настроенные строки могут быть импортированы и (при наличии возможности tool/customlang:export) экспортированы из раздела «Администрирование > Язык > Локальные изменения языкового пакета».

Поиск компонента и идентификатора строки

  • Мы будем использовать пример, в котором пользователь хочет заменить «Courses» на «Assessments» в личном кабинете темы Moodle 3.3 Boost.
Это текст, который вы хотите изменить
  • Перейдите в Администрирование > Разработка > Отладка.

  • Установите флажок «Отображать источник языковых строк», затем сохраните изменения.

  • Перейдите на страницу, содержащую строку, которую вы хотите настроить, и в адресной строке добавьте следующее к URL: либо ?strings=1

    или

    &strings=1

    (в зависимости от того, есть ли уже параметр).

  • Перезагрузите страницу.

Это строки, которые нам нужно изменить
  • Затем страница будет отображаться с компонентом и идентификаторами строк в фигурных скобках после каждой строки, например {nocourses/block_myoverview}. Первая часть, перед /, — это идентификатор строки. Последняя часть — это компонент, например block_myoverview.php. Если после / ничего нет (например, {courses/}), то строка находится в moodle.php.
  • Затем вы будете использовать эту информацию для настройки своих языковых строк.

Поиск компонента и идентификатора строки для электронных уведомлений

  1. Создайте учётную запись на сайте Moodle Translation site.
  2. Перейдите в переводчик AMOS и нажмите «Стандарт для компонентов», затем «Дополнительные параметры».
  3. Для «Подстроки» введите часть формулировки уведомления.
  4. Нажмите кнопку «Отобразить строки».

Использование полученной информации для изменения предполагаемых строк

  1. Перейдите в Администрирование > Язык > Локальные изменения языкового пакета.
  2. Выберите языковой пакет английского языка (en).
  3. Откройте языковой пакет для редактирования.
  4. Нажмите кнопку «Продолжить».
  5. Выберите компонент moodle.php (в данном конкретном случае).
  6. Введите courses в качестве идентификатора строки (в данном случае).
  7. Нажмите кнопку «Отобразить строки».
  8. Введите свою локально настроенную строку, заменив «Courses» на «Assessments».
Мы заменим 'Courses' на 'Assessments'
  • После сохранения изменений в языковом пакете вы можете проверить, что достигли предполагаемого изменения:
Мы заменили 'Courses' на 'Assessments'
  • Помните, что всегда нужно проверять, что вы изменили только предполагаемые строки в предполагаемых местах.
  • Повторите процедуру со всеми строками, которые вы хотите изменить (например, course, no courses,...).
  • Очистите кэш языковых строк, перейдя в Администрирование > Разработка > Очистить все кэши.

Настройки фильтра

Фильтр языка
  • Отображать строки этих компонентов — нажмите или Ctrl+клик, чтобы выбрать один или несколько файлов.
  • Только имеющие локальный перевод — установите флажок, чтобы отображать только те строки, которые уже присутствуют в вашем xx_local пакете.
  • Только строки-подсказки — установите флажок, чтобы отображать только строки-подсказки, то есть тексты, используемые при нажатии на жёлтую иконку вопроса.
  • Изменено только — установите флажок, чтобы отображать только строки, изменённые с момента последней проверки строки в языковом пакете.
  • Только строки, содержащие — введите фразу, которая должна присутствовать в строке. Например, если вы введёте здесь слово «student», вы получите только те строки, которые содержат это слово.
  • Идентификатор строки — см. выше.

Выделение локального перевода

  • Настроенные строки (уже сохранённые в файле) выделены зелёным.
  • Изменённые строки (ещё не сохранённые в файле) выделены синим.
  • Настроенные строки для удаления выделены красным.

Подробнее о языковых пакетах

Moodle переведён на многие языки — см. список языковых пакетов для Moodle и статус завершения перевода. Переводы распространяются в виде языковых пакетов (или просто lang packs), которые поддерживаются добрыми волонтёрами, участниками сообщества и партнёрами Moodle.

Администраторы сайтов Moodle могут настроить любой языковой пакет в соответствии со своими индивидуальными потребностями. Редактирование файлов языкового пакета напрямую не рекомендуется, поскольку любые изменения будут автоматически перезаписаны во время следующего обновления. Вместо этого вы должны использовать функцию локальных изменений языкового пакета, которая автоматически создаёт локальный языковой пакет, содержащий все ваши изменения из официального пакета.

Локальные языковые пакеты имеют ту же структуру, что и официальные. Они сохраняются в каталоге данных Moodle в папке moodledata/lang/xx_local/, где «xx» — код языка. У вас должен быть установлен официальный языковой пакет, прежде чем вы сможете его настроить. Локальный языковой пакет должен содержать только строки, которые вы настроили — нет необходимости создавать копию всего официального языкового пакета.

При отображении строки Moodle сначала проверяет, существует ли локальный перевод в moodledata/lang/xx_local/component_file.php. Если да, то он используется. Если нет, используется строка из официального языкового пакета (если строка ещё не переведена, отображается оригинальная английская версия). Обратите внимание, что строки кэшируются для повышения производительности, поэтому, если вы измените файл напрямую в вашем xx_local пакете, вам придётся впоследствии очистить кэши Moodle. Кэш очищается автоматически при использовании функции локальных изменений языкового пакета.

Рабочий процесс локальных изменений языкового пакета (кликните, чтобы увеличить)

Как сделать резервную копию и восстановить настроенный языковой пакет

Это удобно, когда вы внесли изменения в свой языковой пакет и хотите установить эти изменения на другом сервере.

Если вы настроили языковой пакет xx, единственная папка, которую вам нужно сохранить, — это $CFG->dataroot/lang/xx_local. Все остальные папки без суффикса _local являются стандартными пакетами, которые можно установить и удалить с помощью инструмента администрирования.

После восстановления папки на другом сервере вам придётся вручную очистить кэши из интерфейса администрирования, чтобы встроенный менеджер строк мог повторно прочитать папки *_local и начать их использовать.

Обмен локальными изменениями языкового пакета

  • Если вы сделали локальные изменения языкового пакета для конкретных нужд, которые разделяют другие люди (например, версия вашего национального языка для детей, предназначенная для вашей школы, но также полезная для других школ), пожалуйста, рассмотрите возможность обмена ею как дочерним языком в AMOS.
  • Если в вашей стране используется язык, который не